$(function () {
    // 0.日期过滤器函数
    template.defaults.imports.dataFormat = function (dt) {
        // console.log(dt);
        let dtobj = new Date(dt);
        let y = zeroize(dtobj.getFullYear());
        let m = zeroize(dtobj.getMonth() + 1);
        let d = zeroize(dtobj.getDate());

        let hh = zeroize(dtobj.getHours());
        let mm = zeroize(dtobj.getMinutes());
        let ss = zeroize(dtobj.getSeconds());
        return `${y}-${m}-${d}  ${hh}:${mm}:${ss}`;
    }
    // 补0函数
    function zeroize(n) {
        return n < 10 ? "0" + n : n
    }

    // 1.定义查询参数(过滤和分页都需要)
    let q = {
        pagenum: 1,
        pagesize: 2,
        cate_id: '',
        state: ''
    }
    let layer = layui.layer;
    let form = layui.form;
    let laypage = layui.laypage;
    // 渲染文章列表页面
    initTable();

    function initTable() {
        $.ajax({
            url: '/my/article/list',
            data: q,
            success: function (res) {
                // console.log(res);
                if (res.status != 0) {
                    return layer.msg(res.message);
                }
                $('tbody').html(template('table_list', { data: res.data }));
                renderPage(res.total);
            }
        })
    }

    // 3.初始化文章类别
    initCate();
    function initCate() {
        $.ajax({
            url: '/my/article/cates',
            success: function (res) {
                // console.log(res);
                $('[name=cate_id]').html(template('tpl_classify', { data: res.data }));
                // 解决下拉框的问题  官网
                form.render();
            }
        })
    }

    // 4. 筛选事件
    $('#search').on('submit', function (e) {
        e.preventDefault();
        console.log($(this).serializeArray());
        q.cate_id = $('[name=cate_id]').val();
        q.state = $('[name=state]').val();
        initTable();
    })

    // 5. 分页方法
    function renderPage(total) {
        $('#sum').html(`共${total}条`);

        //执行一个laypage实例
        laypage.render({
            elem: 'test1' //注意，这里的 test1 是 ID，不用加 # 号
            , count: total //数据总数，从服务端得到
            , limit: q.pagesize
            , limits: [2,4, 5, 10, 20]
            , layout: ['count', 'limit', 'prev', 'page', 'next', 'skip']
            , curr: q.pagenum
            , jump: function (obj, first) {
                //obj包含了当前分页的所有参数，比如：
                // console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
                // console.log(obj.limit); //得到每页显示的条数
                //首次不执行
                if (!first) {
                    q.pagesize = obj.limit;
                    //do something
                    q.pagenum = obj.curr;
                    initTable();
                }
            }
        });
    }

    // 删除事件
    $('tbody').on('click', '.btn-del', function () {
        console.log(123);
        let Id = $(this).attr('data-Id');

        layer.confirm('is not?', { icon: 3, title: '提示' }, function (index) {
            $.ajax({
                url: '/my/article/delete/' + Id,
                success: function (res) {
                    // console.log($('.btn-del'));
                    if (res.status != 0) {
                        return layer.msg(res.message)
                    }
                    if ( $('.btn-del').length == 1 && q.pagenum > 1 ) {
                        q.pagenum -- ;
                    }
                    initTable();
                    layer.msg(res.message)
                }
            })
            layer.close(index);
        });
    })


    
})